Motion system health management using existing servo drive variables

ABSTRACT

A motion system and method of managing health of the motion system uses exclusively motion variables used by a servo drive of the motion system to calculate at least one health indication value for the motion system. The health indication value is used to generate a notification for maintenance of the motion system.

CROSS REFERENCE TO RELATED APPLICATION

This application is entitled to the benefit of U.S. Provisional Patent Application Ser. No. 62/672,751, filed on May 17, 2018, which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

A typical servo motor drive system 100 is illustrated in FIG. 1. As shown in FIG. 1, the servo motor drive system 100 includes a motor 102 with a position sensor 104, such as an encoder, a servo drive 106 that includes a microprocessor and a power circuit (not shown) to drive the motor, and a master controller 108 that issues motion commands to the servo drive. The encoder 104 provides feedback signals to the servo drive 106 to correct for deviations from the expected motion.

The motion commands are issued from the master controller 108 to the servo drive 106 through some communication means, such as a serial or Ethernet connection. Examples of motions commands that can be sent from the master controller 108 to the servo drive 106 include (1) move to a particular position, e.g., Position A, at certain speed and acceleration, and (2) jog at certain speed for certain amount of time and stop.

Typically, the motor of a servo motor drive system is connected to a transmission system that moves a load to perform desired actions. An example of a transmission system 200 connected to the motor 102 of the servo motor drive system 100 is illustrated in FIG. 2. In the illustrated example, the transmission system 200 is a ball screw linear actuator that includes a moving stage 202 on linear guides 204 for a load and a screw 206 that displaces the moving stage. The motor 102 is connected to the servo drive 106 via a motor cable 208 to receive drive signals from the servo drive. The encoder 104 is connected to the servo drive 106 via an encoder cable 210 to transmit feedback signals to the servo drive. The servo drive 106 is in communication with the master controller 108 to receive motion commands from the master controller. The entire system comprising the servo motor drive system and the transmission system can be viewed as a motion system.

In a servo drive of a servo motor drive system, a closed loop servo algorithm is used to perform the desired motions. Theory and implementation of the closed loop servo algorithm are well known, and thus, are not described in detail here. FIG. 3 illustrates the closed loop servo algorithm. As shown in FIG. 3, a reference input 302 and a feedback signal 304 on a feedback loop 306 are received at an error detector 308, which generates an error signal 310 in response to the two inputs. The reference input 302 represents a target or desired position of a controlled device 316 and the feedback signal 304 represents the actual position of the controlled device. The error signal 310 represents the position error between the target position and the actual position. The error signal 310 is received at an amplifier 312, which generates a current to drive a servo motor 314 based on the received error signal to reduce the position error. In response, the servo motor 314 moves the controlled device 316 accordingly.

As a motion system performs the work of moving the load in various cycles, failures eventually occur for various reasons. Examples of failures include (1) bearing being worn out due to load changes, (2) friction increase due to lubricant loss or increase dirt, and (3) linkage breaks due to high impact motions.

SUMMARY OF THE INVENTION

A motion system and method of managing health of the motion system uses exclusively motion variables used by a servo drive of the motion system to calculate at least one health indication value for the motion system. The health indication value is used to generate a notification for maintenance of the motion system.

A method of managing health of a motion system with a servo drive in accordance with an embodiment of the invention comprises collecting motion variables that are used by the servo drive to drive a motor of the motion system in response to motion commands, calculating a health indication value for the motion system exclusively using the collected motion variables, and in response to the health indication value, generating a notification for maintenance of the motion system.

A motion system in accordance with an embodiment of the invention comprises a motor, and a servo drive configured to drive the motor. The servo drive includes memory, and at least one processor configured to collect motion variables that are used by the servo drive to drive the motor of the motion system in response to motion commands, calculate a health indication value for the motion system exclusively using the collected motion variables, and in response to the health indication value, generate a notification for maintenance of the motion system.

Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrated by way of example of the principles of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a typical servo motor drive system in accordance with the prior art.

FIG. 2 is a block diagram of a transmission system connected to a motor of the servo motor drive system in accordance with the prior art.

FIG. 3 illustrates the closed loop servo algorithm executed in a servo drive of the servo motor drive system in accordance with the prior art.

FIG. 4 is a block diagram of a motion system with health management capabilities in accordance with an embodiment of the invention.

FIG. 5 illustrates a three-dimensional torque model used by the motion system in accordance with an embodiment of the invention.

FIG. 6 illustrates distance, velocity and acceleration profiles of a motion system in accordance with an embodiment of the invention.

FIG. 7 illustrates an example of an acceleration graph, which can be used to calculate the total amount of impact, in accordance with an embodiment of the invention.

FIG. 8 is a flow diagram of the operation of the motion system with health management capabilities in accordance with an embodiment of the invention.

FIG. 9 is a process flow diagram of a method of managing health of a motion system with a servo drive in accordance with an embodiment of the invention.

DETAILED DESCRIPTION

With reference to FIG. 4, a motion system 400 with health management capabilities in accordance with an embodiment of the invention is described. The motion system 400 is similar to the motion system shown in FIG. 2. However, unlike a conventional motion system, the motion system 400 implements a method to monitor the comprehensive real-time motion health state of the motion system and to predict various types of mechanical failures in the motion system so that the preventative maintenance can be performed. This method uses motion variables that are commonly used in a closed loop algorithm of a servo drive, and requires no external devices or sensors, as explained in detail below.

As shown in FIG. 4, the motion system 400 includes a master controller 402, a servo drive 404, an electric motor 406 with a position sensor 408, e.g., an encoder, and a transmission system 410 in the form of a ball screw linear actuator. However, in other embodiments, the transmission system 410 can be another type of a motion actuator, such as a linear belt drive actuator.

The master controller 402 operates to control the motion system 400. The master controller 402 may be a computer system with one or more programs to control the motion system via the servo drive 404 using motion commands transmitted to the servo drive. Thus, the master controller 402 may include components commonly found in a computer, such as CPU, memory, nonvolatile storage and input devices, e.g., mouse and keyboard. The master controller 402 communicates with the servo drive 404 through typical communication means, such as a USB, Serial, or Ethernet communication cable 412.

The servo drive 404 controls the electric motor 406 by reading motion data from the encoder 408, which may include position and/or speed, via an encoder cable 414 and supplying appropriate power to the electric motor via a motor cable 416 to drive the electric motor. In order to supply the appropriate power to the motor 406, the servo drive 404 executes a closed loop servo algorithm using the motion command from the master controller 402 and the motion data from the encoder 408. The servo drive 404 includes components commonly found in a typical servo drive, such as memory, a processor, e.g., a microprocessor, and power circuit to supply the driving power or current (not shown).

However, unlike a conventional servo drive, the servo drive 404 includes a health managing module 418 to monitor comprehensive real-time motion health state of the motion system and to predict various types of mechanical failures in the motion system. As explained in detail below, the health managing module 418 operates to compute health indication values to determine the health of the motion system 400 and to determine if maintenance is required for the motion system, such as repair, lube application and replacement of mechanical parts. The health managing module 418 may be implemented in any combination of hardware and software. In a particular implementation, the health managing module 418 may be one or more software executed by the processor of the servo drive 404. The health managing module 418 is described in more detail below.

The motor 406 includes a shaft (not shown), which is connected to a screw 420 of the ball screw linear actuator 410. As the motor shaft is rotated, the screw moves a load attached to a load plate 422 to perform one or more desired motions.

The health managing module 418 in the servo drive 404 is configured to execute the method to monitor the comprehensive real-time motion health state of the motion system and to predict various types of mechanical failures in the motion system. As noted above, this method uses motion variables that are commonly used in a closed loop algorithm of a servo drive. In particular, the method uses variables that are used to drive the motor 406.

The motion variables that are used in the method are derived from two main types variables commonly used in servo drives: (1) P—position and (2) I—current. Note that velocity (V) and acceleration (A) can be derived from the position by known sampling time Δt, as follows: V=P/Δt A=V/Δt=P/Δt{circumflex over ( )}2

Using the above mentioned existing variables, which are used in a typical servo drive, the following three motion state parameters can be calculated from the existing servo variables:

-   -   1. Friction coefficient values—Coulomb and viscous     -   2. Position and velocity based torque model     -   3. Total impact value

These three motion state parameters give a good indication of the health of the motion system 400 and allow prediction of the future failures that may occur on the motion system. For example, when a rise of the friction coefficient is detected, it can be determined that the friction is increasing and that there is some wear in the bearing or loss in the lubrication. Also, when there is a deviation from the normal torque model, it can be noted that more torque is required to perform the same work. Increase in the torque deviation may indicate some type of failure or degradation to the system to require increase in the torque to do the same work. As another example, as the total impact value is increasing, there is increase in stress to the mechanical system and may indicate the end of life of linkages or gears or belt.

In an embodiment, the health managing module 418 is configured to calculate friction coefficient values. The friction coefficient value calculation is based on the following well-known equation in the field of motion control: T=J*A+B*w+C*(dw),  (Equation 1) where T is the torque, J is the inertia, A is the acceleration, B is the viscous friction coefficient, w is the velocity, C is the Coulomb friction coefficient, and dw is the direction of velocity.

In the above equation, the torque is equal to current multiplied by the torque constant as: T=Kt*I, where T is the torque, Kt is the torque constant and I is the drive current. Thus, Equation 1 can be expressed as: Kt*I=J*A+B*w+C*(dw)  (Equation 2)

Acceleration is the change in speed over delta time or change in time. Speed is the change in position over delta time. Thus, speed (velocity) and acceleration and can be expressed as follows: V=P/Δt A=V/Δt=P/Δt{circumflex over ( )}2 Thus, Equation 2 can be expressed as: Kt*I=J*(P/Δt{circumflex over ( )}2)+B*P/Δt+C*(dw)  (Equation 3)

In Equation 3, the motor inertia J is known. Thus, two unknown values are C (Coulomb friction value) and B (viscous coefficient value). All other variables in the equation are known: Kt, I, P, J, Δt, and dw. By taking many sample values and using a regression analysis, the viscous and Coulomb friction coefficient values B and C can be determined. The viscous and Coulomb friction coefficient values B and C are health indication values for the motion system 400.

The health managing module 418 also generates a three-dimensional (3D) torque model. By collecting sets of position, velocity and current values, a 3D torque model can be generated. The health managing module 418 repeatedly collects position, velocity and current values at the same moment, which are produced as the motion system is operated. Using these values, a good performance model with respect to torque for the motion system can be built. In an embodiment, for each 3D point (position, velocity and torque), maximum, minimum and average values can be determined. These values can be used to make a maximum and minimum extreme model for the torque values or make an average point model for the torque values using the average values.

An example of a 3D torque model 500 is illustrated in FIG. 5. As shown in FIG. 5, the 3D torque model 500 is generated using position, velocity and current values that have been collected over a period of time when the motion system was in operation. As shown in FIG. 5, the 3D torque model 500 is a 3D model in a space defined by velocity, position and torque.

Once the 3D torque model is built, the real-time torque can be compared against the model, using minimum, maximum and/or average torque values in the model. Torque deviation values are determined at each given position and velocity points. Each torque deviation value represents the difference in the amount of force that is required to perform the same type of work at the given position and velocity point. Thus, the torque deviation value is another health indication value for the motion system 400.

The health managing module 418 also calculates a total impact value. Typical motion profiles for a motion system are shown in FIG. 6, which depicts the distance, velocity and acceleration profiles. The following is the force (or torque in angular) equation in relation to the acceleration: F=M*A, where F is the force, M is the mass and A is the acceleration.

Impact is defined as the change in the force that is applied to the system and can be represented by the following equation: ΔF=M*ΔA The above equation defines that the change in the force is proportional to the change in the acceleration.

By determining the magnitude in the change of acceleration, the amount of impact can be determined. An example of an acceleration graph is illustrated in FIG. 7, which can be used to calculate the total amount of impact. The acceleration graph shows five instances 702, 704, 706, 708 and 710 of acceleration change. In the first instance 702, the acceleration has changed by four (4) from four (4) to zero (0). In the second instance 704, the acceleration has changed by two (2) from zero (0) to negative two (−2). In the third instance 706, the acceleration has changed by two (2) from negative two (−2) to zero (0). In the fourth instance 708, the acceleration has changed by four (4) from zero (0) to four (4). In the fifth instance 710, the acceleration has changed by four (4) from four (4) to zero (0). Thus, the total amount of impact is calculated as: Total Impact=J*(4+2+2+4+4), where J is inertia (angular replacement for M).

The total impact values are summed over the life of the motion system 400 and determined as the total amount of stress and strain and wear that has been applied to the motion system. Thus, the accumulated total impact value can be used to determine the remaining life on the mechanical system and can be used to determine replacement or maintenance schedule for the motion system. As such, the total impact value is another health indication value for the motion system 400.

The operation of the motion system 400 with health management capabilities in accordance with an embodiment of the invention is described with reference to a process flow diagram of FIG. 8. At block 802, some of the motion variables used in the servo drive 404 to drive the motor 406 are selected by the health management module 418 to build a 3D torque model for the motion system 400. In an embodiment, these motion variables may include, but not limited to, the current I used to drive the motor 406 and the actual position P and velocity V of the motor 406 at a particular moment of time. The actual position P and velocity V are provided by the encoder 408 attached to the motor 406. If velocity V is not provided by the encoder 408, the velocity V may be calculated from multiple position P values over a period of time.

Next, at block 804, the motor 406 is driven to perform at least one sequence of motions to build the 3D torque model by supplying appropriate current I to the motor. The sequence of motions may include one or more motions that are to be executed via the motor 406 to move the load plate 422 of the ball screw linear actuator 410.

Next, at block 806, as the motor 406 is being driven, the selected motion variables are collected at the same moment of time by the health management module 418 for various motions being performed by the motion system 400. In the embodiment where the current I, position P and velocity V are selected, the current I and the resulting position P and velocity V are collected together at the same time for each motion.

Next, at block 808, the corresponding torque is computed for each set of collected motion variables by the health management module 418. In particular, each torque value is computed using the equation T=Kt*I, where T is the torque, Kt is the torque constant and I is the driving current.

Next, at block 810, a 3D torque model for the motion system 400 is built by the health management module 418 using the collected motion variables and the computed torque values. In an embodiment, the 3D torque model is built using the position P and velocity V values and the corresponding torque values. The 3D torque model is now ready to be used in real time to detect the health of the motion system.

Next, at block 812, the motor is driven to perform one or more motions for normal operations. The motor is driven by supplying appropriate current I from the servo drive 404 to the electric motor in response to one or motion commands from the master controller 402 of the motion system 400.

Next, at block 814, as the motor 406 is being driven, some of the motion variables used in the servo drive 404 to drive the motor are collected by the health management module 418. In an embodiment, these motion variables may again include the current I used to drive the motor 406 and the actual position P and velocity V of the motor at a particular moment of time. If velocity V is not provided by the encoder 408, the velocity V may be calculated from multiple position P values over a period of time.

Next, at block 816, one or more friction coefficients in the motion system 400 are computed using the collected motion variables by the health management module 418. In an embodiment, the Coulomb friction coefficient value C and the viscous coefficient value B are computed. These friction coefficient values can be computed using Equation 3, i.e., Kt*I=J*(P/Δt{circumflex over ( )}2)+B*P/Δt+C*(dw), since all the variables, except for the Coulomb friction value C and the viscous coefficient value B, are either known or can be derived from known values.

Next, at block 818, the current friction coefficients are compared to previously computed friction coefficients by the health management module 418 to determine the trend of the friction coefficients, e.g., whether the friction coefficients are increasing, decreasing or remaining approximately at the same level. As previously noted, an increase in the friction coefficient values can indicate some wear in the bearing or loss in the lubrication, which may require replacement, repair or lubrication.

Next, at block 820, the current torque deviation value is computed by the health management module 418 using the 3D torque model and the current torque value. The torque deviation value is computed by taking the difference between the torque value (minimum, maximum or average) from the 3D torque model for the current actual position P and velocity V and the current torque value computed using the corresponding driving current I.

Next, at block 822, the current acceleration value A is computed by the health management module 418 using the collected velocity value V and the previously collected velocity values. Thus, the change in acceleration can be computed over time.

Next, at block 824, the current total impact value is computed by the health management module 418 using the current acceleration value. If the current acceleration value A is same as the previous acceleration value, then the current total impact value will be same as the previous total impact value. However, if the current acceleration value A is not the same as the previous acceleration value, the magnitude of the difference is added to the previous total impact value to derive the current total impact value. Thus, the total impact value is an accumulating value.

Next, at block 826, a determination is made by the health management module 418 whether one or more of the computed friction coefficients, the current torque deviation value and the current total impact value indicate that a maintenance is required. If no, then the operation proceeds back to block 812. However, if yes, then the operation proceeds to block 828, where a notification is generated to indicate that maintenance is required. The notification may include, but not limited to, a need for repair, replacement or lubrication of mechanical components in the motor system 400. The notification may be presented to a user in any means, such as displayed on a display device connected to the master controller 402. Next, the operation proceeds back to block 812 to further monitor the health of the motor system.

The determination of whether a maintenance of the motion system 400 is required may be made by comparing the computed friction coefficients, the current torque deviation value and the current total impact value to threshold values, which may be empirically or theoretically determined. In an embodiment, certain types of failures may be predicted by testing various scenario cases. For example, a scenario case can be built where there is loss of lubrication, which requires maintenance. To build this case, the lubrication can be manually force out and observe the pattern of friction coefficients and torque model changing as the motion system is operated. Once the case is built, the monitored values can be compared to the observed values to determine when the lubrication is low and requires service. The cases that can be built include, but not limited to, low lubricant, belt or gear wearing out, assembly loosening, etc. These cases can be built and used to determine the type of failures that can be predicted on the motion system 400.

As noted above, the monitoring of the motion variables and various calculations for health indication values are executed by the health management module 418 in the servo drive 404. Thus, there is no need to send raw data to the master controller 402 or elsewhere, such as the cloud, which may result in delays and overwhelmed data traffic.

In an embodiment, the method described above can be used not only to determine the health of a single motor system, but to determine the health of a group of motion systems, even at a plant level. Thus, the method can be used to monitor the health state and the health trends of an individual motion system and/or a group of motion systems.

In another embodiment, the method described above may be used with techniques described in the U.S. patent application Ser. No. 15/865,088, titled “MULTI-DIMENSIONAL MOTION PERFORMANCE MODELING AND REAL-TIME MONITORING OF A MOTION SYSTEM,” which is incorporated herein by reference.

A method of managing health of a motion system with a servo drive in accordance with an embodiment of the invention is described with reference to a process flow diagram of FIG. 9. At block 902, motion variables that are used by the servo drive to drive a motor of the motion system in response to motion commands are collected. At block 904, a health indication value for the motion system is calculated exclusively using the collected motion variables. At block 906, in response to the health indication value, a notification for maintenance of the motion system is generated.

The components of the embodiments as generally described in this document and illustrated in the appended figures could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of various embodiments, as represented in the figures, is not intended to limit the scope of the present disclosure, but is merely representative of various embodiments. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.

The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by this detailed description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussions of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.

Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, in light of the description herein, that the invention can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.

Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment of the present invention. Thus, the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.

Although the operations of the method(s) herein are shown and described in a particular order, the order of the operations of each method may be altered so that certain operations may be performed in an inverse order or so that certain operations may be performed, at least in part, concurrently with other operations. In another embodiment, instructions or sub-operations of distinct operations may be implemented in an intermittent and/or alternating manner.

It should also be noted that at least some of the operations for the methods may be implemented using software instructions stored on a computer useable storage medium for execution by a computer. As an example, an embodiment of a computer program product includes a computer useable storage medium to store a computer readable program that, when executed on a computer, causes the computer to perform operations, as described herein.

Furthermore, embodiments of at least portions of the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.

The computer-useable or computer-readable medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device), or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disc, and an optical disc. Current examples of optical discs include a compact disc with read only memory (CD-ROM), a compact disc with read/write (CD-R/W), a digital video disc (DVD), and a Blu-ray disc.

In the above description, specific details of various embodiments are provided. However, some embodiments may be practiced with less than all of these specific details. In other instances, certain methods, procedures, components, structures, and/or functions are described in no more detail than to enable the various embodiments of the invention, for the sake of brevity and clarity.

Although specific embodiments of the invention have been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated. The scope of the invention is to be defined by the claims appended hereto and their equivalents. 

What is claimed is:
 1. A method of managing health of a motion system with a servo drive, the method comprising: driving a motor of the motion system using the servo drive to perform a sequence of motions to build a three-dimensional torque model; as the motor is being driven, for each motion, collecting a current I that is used to drive the motor, a position P of the motor and a velocity V of the motor together at the same time to produce multiple sets of current I, position P and velocity V values; for each set of current I, position P and velocity V values, computing a corresponding torque value using an equation T=Kt*I, where T is a torque value, Kt is a torque constant and I is a driving current; building the three-dimensional torque model for the motion system using the position P, velocity V and corresponding torque values, the three-dimensional torque model being a three-dimensional model in space defined by position, velocity and torque; after the three-dimensional torque model has been built, collecting motion variables that are used by the servo drive to drive the motor of the motion system in response to motion commands, the motion variables including an actual current I to drive the motor, an actual position P of the motor and an actual velocity of the motor; calculating a health indication value for the motion system exclusively using the collected motion variables, wherein calculating the health indication value comprises: computing an actual torque value using the actual current I; and taking a difference between the actual torque value and a torque value from the three-dimensional torque model to derive a torque deviation value that is used as the health indication values, wherein the torque value from the three-dimensional torque model is selected using the actual position P and the actual velocity V; and in response to the health indication value, generating a notification for maintenance of the motion system.
 2. The method of claim 1, further comprising calculating another health indication value, wherein the health another indication value is a friction coefficient value that is computed using only the collected motion variables used by the servo drive.
 3. The method of claim 2, wherein the friction coefficient value is a viscous friction coefficient value or a Coulomb friction coefficient value.
 4. The method of claim 3, wherein at least one of the viscous friction coefficient value and the Coulomb friction coefficient value is derived using the equation: T=J*A+B*w+C*(dw), where T is the torque, J is the inertia, A is the acceleration, B is the viscous friction coefficient value, w is the velocity value, C is the Coulomb friction coefficient value, and dw is the direction of velocity.
 5. The method of claim 1, further comprising calculating another health indication value, wherein the another health indication value is a total impact value that is computed using magnitudes of changes in acceleration based on the collected motion variables.
 6. The method of claim 5, further comprising calculating the total impact value by computing a sum of the magnitudes of changes in acceleration at a plurality of instances and multiplying the sum with inertia of the motion system.
 7. A motion system comprising: a motor, and a servo drive configured to drive the motor, the servo drive including, memory; and at least one processor configured to: drive the motor of the motion system to perform a sequence of motions to build a three-dimensional torque model; as the motor is being driven, for each motion, collect a current I that is used to drive the motor, a position P of the motor and a velocity V of the motor together at the same time to produce multiple sets of current I, position P and velocity V values; for each set of current I, position P and velocity V values, compute a corresponding torque value using an equation T=Kt*I, where T is a torque value, Kt is a torque constant and I is a driving current; build the three-dimensional torque model for the motion system using the position P, velocity V and corresponding torque values, the three-dimensional torque model being a three-dimensional model in space defined by position, velocity and torque; after the three-dimensional torque model has been built, collect motion variables that are used by the servo drive to drive the motor of the motion system in response to motion commands, the motion variables including an actual current I to drive the motor, an actual position P of the motor and an actual velocity of the motor; calculate a health indication value for the motion system exclusively using the collected motion variables, wherein calculating the health indication value comprises: computing an actual torque value using the actual current I; and taking a difference between the actual torque value and a torque value from the three-dimensional torque model to derive a torque deviation value that is used as the health indication values, wherein the torque value from the three-dimensional torque model is selected using the actual position P and the actual velocity V; and in response to the health indication value, generate a notification for maintenance of the motion system.
 8. The motion system of claim 7, wherein the at least one processor is configured to calculate another health indication value, and wherein the another health indication value is a friction coefficient value that is computed using only the collected motion variables used by the servo drive.
 9. The motion system of claim 8, wherein the friction coefficient value is a viscous friction coefficient value or a Coulomb friction coefficient value.
 10. The motion system of claim 9, wherein at least one of the viscous friction coefficient value and the Coulomb friction coefficient value is derived using the equation: T=J*A+B*w+C*(dw), where T is the torque, J is the inertia, A is the acceleration, B is the viscous friction coefficient value, w is the velocity value, C is the Coulomb friction coefficient value, and dw is the direction of velocity.
 11. The motion system of claim 7, wherein the at least one processor is configured to calculate another health indication value, and wherein the another health indication value is a total impact value that is computed using magnitudes of changes in acceleration based on the collected motion variables.
 12. The motion system of claim 11, wherein the at least one processor is configured to calculate the total impact value by computing a sum of the magnitudes of changes in acceleration at a plurality of instances and multiplying the sum with inertia of the motion system. 